package com.elecbook.content.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.elecbook.base.dto.PageDTO;
import com.elecbook.content.model.dto.ContributePQuery;
import com.elecbook.content.model.dto.ContributePageRequestDTO;
import com.elecbook.content.model.dto.ContributeSubmitDTO;
import com.elecbook.content.model.po.Contribute;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Z-ken
 * @since 2024/10/24 19:39:39
 */
public interface ContributeService extends IService<Contribute> {

    /**
     * description 删除一个稿件
     *
     * @author zken
     * @CreateDate 2024/10/24 19:45:13
     */
    void deleteContributeById(Contribute contribute);

    /**
     * 分页查询稿件，暂时没有进行VO的使用
     *
     * @param contributePageRequestDTO
     * @return
     */
    PageDTO<Contribute> queryContributePage(ContributePageRequestDTO contributePageRequestDTO);

    /**
     * description 更新方法
     *
     * @author zken
     * @CreateDate 2024/10/24 22:06:43
     */
    void updateContributeByID(ContributeSubmitDTO contributeSubmitDTO);

    /**
     * description 根据id获取
     *
     * @author zken
     * @CreateDate 2024/11/3 21:38:41
     */
    Contribute getContributeById(Integer contributeId);

    /**
     * description 提交并且更新
     *
     * @author zken
     * @CreateDate 2024/11/3 21:46:42
     */
    Contribute submitContribute(ContributeSubmitDTO dto);


    /*
    管理员操作
     */
    PageDTO<Contribute> pageQuery(ContributePQuery query);

    Contribute saveContribute(Contribute contribute);

    Contribute updateContributeById(Contribute contribute);
}
